/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package geradores;

import dominio.Datas;
import dominio.ResultadoDeMelhorLocalDeVenda;
import dominio.ResultadoGraficoAbstrato;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.CategoryItemRenderer;
import org.jfree.data.category.DefaultCategoryDataset;

/**
 *
 * @author gilcemar e naliane
 */
public class GeradorDeGrafico {

    public BufferedImage gerarGrafico (List<ResultadoGraficoAbstrato> listaParametro)
    {
        DefaultCategoryDataset dCD = new DefaultCategoryDataset();
        for (int i = 0;i< listaParametro.size();i++) {
            ResultadoDeMelhorLocalDeVenda m = (ResultadoDeMelhorLocalDeVenda)listaParametro.get(i);
            dCD.setValue(m.getQuantidadeDeVendas(),"", m.getBairro());

        }

        JFreeChart modelo = ChartFactory.createLineChart3D("Gráficos dos melhores locais de venda", "Bairros", "Quantidade de vendas", dCD, PlotOrientation.VERTICAL, false, false, false);
        CategoryPlot p = modelo.getCategoryPlot();
        CategoryItemRenderer renderer = p.getRenderer();
        renderer.setBaseOutlinePaint(Color.blue);
        modelo.setBorderVisible(true);
        ChartPanel painel = new ChartPanel(modelo);
        BufferedImage imagem = modelo.createBufferedImage(600, 300);
        return imagem;
    }

     public BufferedImage gerarGraficoMelhoresMesesDeVenda (List<Datas> listaParametro)
    {
        DefaultCategoryDataset dCD = new DefaultCategoryDataset();
        for (int i = 0;i< listaParametro.size();i++) {
            Datas m = (Datas)listaParametro.get(i);
            dCD.setValue(m.getQuantidade(),"", m.getMes());

        }

        JFreeChart modelo = ChartFactory.createLineChart3D("Gráficos dos melhores meses de venda", "Meses", "Quantidade de vendas", dCD, PlotOrientation.VERTICAL, false, false, false);
        CategoryPlot p = modelo.getCategoryPlot();

        CategoryItemRenderer renderer = p.getRenderer();
        renderer.setBaseOutlinePaint(Color.blue);
        modelo.setBorderVisible(true);
        ChartPanel painel = new ChartPanel(modelo);
        BufferedImage imagem = modelo.createBufferedImage(600, 300);
        return imagem;
    }

    public BufferedImage colocarGraficoPadrao ()
    {
        DefaultCategoryDataset dCD = new DefaultCategoryDataset();
        JFreeChart modelo = ChartFactory.createLineChart3D("", "", "", dCD, PlotOrientation.VERTICAL, false, false, false);
        CategoryPlot p = modelo.getCategoryPlot();
        modelo.setBorderVisible(true);
        ChartPanel painel = new ChartPanel(modelo);
        BufferedImage imagem = modelo.createBufferedImage(600, 300);
        return imagem;
    }
}
